Memory control architectures function to coordinate computer memory by assigning portions called blocks (such as contiguous set of bytes) to various running programs and/or hardware module to optimize overall system performance. Memory control systems reside in hardware, in the operating system, and in programs and applications.